import axios from "axios";
import { toast } from "~/composables/util";
import { GetTokenLocalStorage } from "~/composables/auth";

const service = axios.create({
  baseURL: "/api",
});

//请求拦截器
service.interceptors.request.use(
  function (config) {
    //在发送之前做些什么,比如添加token请求头信息
    const token = GetTokenLocalStorage();
    console.log("请求token值", token.value);
    if (token != undefined && token.value) {
      config.headers["token"] = token.value;
    }
    return config;
  },
  function (error) {
    //请求错误做些什么？
    console.log(error);
    return Promise.reject(error);
  }
);

//响应拦截器
service.interceptors.response.use(
  function (response) {
    //对响应数据做些什么

    return response.data.data;
  },
  function (error) {
    //对响应错误做些什么，比如弹出错误提示
    toast(error.response.data.msg || "请求错误", "error")
    return Promise.reject(error);
  }
);

export default service;
